package com.example.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.example.dto.*;
import com.example.entity.Order;
import com.example.param.OrderSearchParams;
import com.example.vo.Result;
import com.example.vo.SubmitOrderResponseVo;

import java.util.List;

/**
* @author circle48
* @description 针对表【order(订单)】的数据库操作Service
* @createDate 2024-05-14 11:46:02
*/
public interface OrderService extends IService<Order> {

    Result getMyOrders(long userID, OrderSearchParams orderSearchParams);

    SubmitOrderResponseVo createOrder(TradeDTO orderDTO);

    List<OrderItemDTO> getOrderList(Long userId);

    void closeOrder(List<OrderCreateDTO> orderId);

    void updateOrderStatus(String out_trade_no);

    Result<List<AdminOrderDto>> getOrderList();

    Result<List<AdminOrderDto>> searchOrderList(SearchOrderDto searchOrderDto);

    Result<AdminOrderDetail> getOrderDetail (String orderSn);

    List<Order> getOrdersToAutoConfirm();

    void confirmReceipt(Long id);

    List<Order> findByOrderSn(String outTradeNo);

    void handlePaymentCancellation(String out_trade_no);

    void updataUserIntegration(String out_trade_no);

    Order getBySn(String orderSn);

    void receiving(String orderSn);

    List<Order> getSellerOrderList(Long storeId);

    void updateOrder(ImportOrderDto testDto);
}
